User interface to facilitate exchanging files among processor-based devices

ABSTRACT

A first processor-based device (PBD), such as a personal computer functioning as a host and containing digital media files, may share a selected file with a second PBD. Media file-sharing may be facilitated by an automated technique including graphical user interfaces (GUIs). In one embodiment, when a device user wishes to transfer a file to another device, the user hovers the file over a particular desktop icon and drops it, causing it to be automatically transmitted to a corresponding destination. Optionally, in response to hovering, a software program automatically generates a GUI indicating potential destinations. The user then selects a destination, and the system automatically transfers the file to that destination. In another embodiment, media sharing can be initiated from a digital appliance, such as a digital picture frame, and a file can be sent to another PBD, such as another digital picture frame via an intermediary PBD.

RELATED APPLICATIONS

[0001] The present application is related to the following applicationswhich were assigned to the same assignee as the present application andwere filed on even date herewith:

[0002] (1) Ser. No. ______, entitled “Apparatus and Methods to ExchangeMenu Information Among Processor-Based Devices” (Attorney Docket884.745);

[0003] (2) Ser. No. ______, entitled “Network of DisparateProcessor-Based Devices to Exchange and Display Media Files” (AttorneyDocket 884.746); and

[0004] (3) Ser. No. ______, entitled “Apparatus and Methods to Selectand Access Displayed Objects” (Attorney Docket 884.747).

TECHNICAL FIELD

[0005] Embodiments of the present invention relate generally to thetransfer and routing of digital media and, more particularly, to a userinterface to facilitate exchanging media files among processor-baseddevices, and to methods related thereto.

BACKGROUND INFORMATION

[0006] Computing devices, such as personal computers (PCs), arewidespread within the fabric of current communications networks at everylevel, from in-home networks to global networks like the Internet andthe World-Wide Web (“WWW”). Digital media files of many types, includingpictures, video, audio, greeting cards, animations, games, artwork,music compositions, x-rays, scanned documents, software programs, andthe like are frequently transmitted between computing devices.

[0007] In a variety of known examples, one processor-based devicefunctioning as a host may communicate wirelessly or via a cable with aless fully featured processor-based device that may be referred toherein as a “processor-based appliance”, a “digital appliance”, an“electronic appliance”, or simply an “appliance”. An example is a chatpad wirelessly communicating with a PC. Another example is aprocessor-based telephone communicating telephone call information witha processor-based device that acts as a host. Other examples include apersonal digital assistant (PDA) or a digital music player that maywirelessly communicate with a PC.

[0008] However, to handle, file, and transfer digital media files, asubstantial amount of user involvement may be required. Often, acomputer user will find operations involving a digital media file sofrustrating that he or she will quit trying to use a particular digitalmedia file or even forego using all digital media files. This isparticularly true for operations involving transferring or forwarding adigital media file to another processor-based device, such as emailing adigital photo to a friend, transmitting a digital photo to a digitalpicture frame (DPF) (discussed in greater detail in the “DetailedDescription of Embodiments of the Invention”), downloading an audio fileto a personal entertainment device like an MP3 (Moving Picture ExpertsGroup, audio layer 3) audio player, and the like.

[0009] For example, a computer user may receive a video postcardattached to an email and want to display it on his digital picture framein another room, or he may want to download an MP3 file to his MP3 audioplayer. He typically must open additional applications and follow aninvolved and often non-intuitive series of steps to move the digitalmedia file to the proper file folder, where the appropriate mediamanager software can find it and include it in subsequent downloads. Itis time-consuming, inconvenient, and frustrating to operate in thecurrent manner. Less PC-literate consumers often experience difficultyin finding files they download from email and are not able to find andforward such files to people operating other processor-based devices.

[0010] For example, to share a digital media file with a buddy viaelectronic mail, the user must open an electronic mail application,create a new electronic mail message, address the electronic mailmessage, remember the location of the file to attach and its potentiallyobscure file system name, attach the desired media file, think ofsomething to say to the recipient, and send the message. Thus, simplyhandling and transferring files exceeds the level of sophistication ofmany likely system users.

[0011] In general, many media transfer operations on processor-baseddevices are time-consuming and inconvenient. These operations may besufficiently tedious that they may significantly decrease the user'senjoyment and utilization of the processor-based device.

[0012] There is a wide variation in resources among processor-baseddevices, ranging from full-featured computing systems to very basicprocessor-based devices.

[0013] Examples of processor-based devices having relatively limitedfeatures include a variety of digital appliances. Such appliancestypically have reduced processing and storage resources compared withtypical PCs. A few examples of such processor-based devices include adigital picture frame, a digital music player, a PDA, Internet-capablecellular telephones, and the like.

[0014] A digital picture frame (also referred to herein as a “DPF”) is aprocessor-based device that includes a display for displaying digitalpictures. A DPF may be used like a conventional picture frame to displaypictures, such as pictures of family and friends and the like. However,with a DPF, the pictures may be changed and displayed digitally.

[0015] A number of DPFs are known in the art, including DPFs that arecommercially available from Sony Corporation of America, New York City,N.Y.; Digi-Frame Inc., Port Chester, N.Y.; Ceiva Logic, Inc., Burbank,Calif.; and Eastman Kodak Company, Rochester, N.Y. DPFs may also bereferred to in the art as electronic picture frames, Internet frames, orsmart frames.

[0016] In known DPFs, two basic types of image file handling are used.In one type, pictures can be input from a digital camera or PC, and thepictures are conveyed into and out of the DPF on a removable memoryelement or device, such as a memory card, MemoryStick™ device,SmartMedia device, or the like.

[0017] In the second type, the DPF can periodically download picturesover a modem from the Internet into a local memory for display. Inaddition, some DPFs are also capable of uploading pictures via theInternet to a dedicated server. When an Internet appliance connectionservice is provided today, the user must pay a monthly subscription fee.

[0018] In the field of DPFs, there is significant competitive pressureamong manufacturers to increase the performance of their equipment. Asmarket forces drive DPF manufacturers to produce DPFs with increasedperformance, DPF architectures and feature sets accordingly need tosupport the increased performance expectations.

[0019] Thus, there is a need for better ways to transfer mediainformation between processor-based devices including, but not limitedto, appliances such as a DPF.

BRIEF DESCRIPTION OF THE DRAWINGS

[0020]FIG. 1 is a perspective view of equipment, including aprocessor-based appliance such as a digital picture frame, and a hostcomputer, to implement one or more embodiments of the present invention;

[0021]FIG. 2 is a block diagram of a processor-based appliance inaccordance with an embodiment of the present invention;

[0022]FIG. 3 is a block diagram of a wireless remote control shown inFIG. 1, in accordance with an embodiment of the present invention;

[0023]FIG. 4 is a block diagram of a host computer that is coupled to alocal network and/or a wide-area network, and that implements one ormore embodiments of the present invention;

[0024]FIG. 5 is a block diagram of a network comprising a server, aplurality of hosts, and a plurality of processor-based devices, DPFs, orother appliances, in accordance with one embodiment of the presentinvention;

[0025]FIG. 6 is a depiction of a computer desktop showing a plurality ofphoto thumbnails and a pointer or cursor hovering over a desktop dropspot, in accordance with an embodiment of the present invention;

[0026]FIG. 7 is a depiction of a routing target menu of the computerdesktop illustrated in FIG. 6 after a photo image has been dragged anddropped onto a desktop drop spot, in accordance with an embodiment ofthe present invention;

[0027]FIG. 8 is a flow diagram illustrating an exemplary method to routea media file via a desktop shortcut, in accordance with an embodiment ofthe present invention;

[0028]FIGS. 9A and 9B together constitute a flow diagram illustrating anexemplary method for a computer user to route a file via a desktopshortcut, in accordance with an embodiment of the present invention;

[0029]FIG. 10 is a flow diagram illustrating an exemplary method toroute one or more media files from an appliance to a destinationprocessor-based device in a network via an intermediary processor-baseddevice, in accordance with an embodiment of the present invention;

[0030]FIG. 11 is a flow diagram illustrating an exemplary method for ahost to update or synchronize with an appliance, in accordance with anembodiment of the present invention; and

[0031]FIG. 12 is a block diagram of a network comprising a host and oneor more processor-based devices or appliances, in accordance with oneembodiment of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

[0032] In the following detailed description of embodiments of theinvention, reference is made to the accompanying drawings that form apart hereof, and in which is shown by way of illustration, but not oflimitation, specific embodiments of the invention. These embodiments aredescribed in sufficient detail to enable those skilled in the art tounderstand and implement them, and it is to be understood that otherembodiments may be utilized and that mechanical, chemical, structural,electrical, and procedural changes may be made without departing fromthe spirit and scope of the present disclosure. The following detaileddescription is, therefore, not to be taken in a limiting sense, and thescope of embodiments of the present invention is defined only by theappended claims.

[0033] In embodiments of the present invention, processor-based devicessuch as DPFs may input and output media content files through aconnection to a host such as a PC. A host may facilitate exchange ofdigital media content files across the host's Internet connection onbehalf of the appliance, so that the appliance user need not pay for anadditional fee for a separate appliance Internet service.

[0034] Further, an appliance user's experience in sharing digital mediacontent files is improved, by automating the repetitive and sometimesconfusing tasks associated with file preparation, uploading,downloading, and finding new files for viewing.

[0035]FIG. 1 is a perspective view of equipment, including aprocessor-based device such as a digital picture frame 10, and a hostcomputer 20, to implement one or more embodiments of the presentinvention. Processor-based appliance 10 and host computer 20 and areboth examples of processor-based devices.

[0036] The computing equipment shown in FIG. 1 is merely one example inwhich embodiments of the present invention can be used. In one example,a digital media file can be routed from a host computer 20 to a DPF 10or other processor-based device. Elsewhere in the “Detailed Descriptionof Embodiments of the Invention” is described how a digital media filecan be routed from a host computer to another host computer.

[0037] Host computer (also referred to herein simply as “host”) 20 maybe or include a personal computer 24. Host 20 may include a screen ordisplay 22 in accordance with one embodiment. Host 20 may include one ormore removable media slots, such as floppy disk slot 25 and memory cardslot 26. Host 20 may also include a keyboard 27, a pointing device suchas mouse 28, and/or any other element that permits an appliance user toinput information into and receive information from host 20. Host 20 mayinclude one or more loudspeakers 29.

[0038] Processor-based appliance 10 comprises a housing 11 and anoptional screen or display 12. Display 12 displays any type of visuallyperceivable images, including text, graphics, and still or movingpictures. Processor-based appliance 10, in one embodiment, canoptionally be coupled via a wire or cable 7 to an auxiliary display 5having a screen or display 6, and having other user interface elements,such as controls, loudspeakers, and so forth. Auxiliary display 5 couldbe a television, computer monitor, or any other equipment that issuitable to render visual and/or audio media. In one embodiment,auxiliary display 5 is used with a low-cost processor-based appliance 10that has no display 12. In another embodiment, auxiliary display 5 canprovide features not provided on the processor-based appliance 10. Forexample, auxiliary display 5 can be a large-screen TV or high-definitionTV.

[0039] Processor-based appliance 10 comprises suitable human interfaceelements with which an appliance user can input information intoprocessor-based appliance 10 and receive information fromprocessor-based appliance 10.

[0040] “Suitable”, as used herein, means having characteristics that aresufficient to produce the desired result(s). Suitability for theintended purpose can be determined by one of ordinary skill in the artusing only routine experimentation.

[0041] Thus, processor-based appliance 10 can comprise one or morecontrols 8. Alternatively, on-screen touch-sensitive buttons (not shown)could be used. In one embodiment, appliance 10 is controlled by awireless remote control 15 having one or more control buttons 16.Appliance 10 can include one or more loudspeakers 9.

[0042] Processor-based appliance 10, in one embodiment, is optionallysupported in an upright configuration by a stand 13. Processor-basedappliance 10 may be coupled to a suitable wall power outlet by a powercord 14; alternatively, processor-based appliance 10 could be operatedusing battery-supplied power.

[0043] Processor-based appliance 10, in the embodiment shown in FIG. 1,communicates wirelessly and bi-directionally with host 20; however, inother embodiments, processor-based appliance 10 could be coupled viawire or cable to host 20.

[0044] In one embodiment, host 20 communicates with processor-basedappliance 10 using radio frequency signals, for example, in accordancewith the Bluetooth specification (Specification of the Bluetooth System,Version 1.1, Feb. 22, 2001), the 802.11 specification (IEEE Standard802.11 available from the Institute of Electrical and ElectronicsEngineers, New York, N.Y.), a Wireless Fidelity (“Wi-Fi”) protocol, orthe like. Similarly, the remote control 15 may use any availablewireless protocol to communicate with processor-based appliance 10. Thecommunication may be made via a suitable infrared protocol. Typically,processor-based appliance 10 communicates with host 20 via a highbandwidth communications link, whereas processor-based appliance 10communicates with remote control 15 using a low bandwidth link.

[0045] By using wireless communications between host 20 andprocessor-based appliance 10, a user of processor-based appliance 10 canconveniently roam within a reasonable distance of host 20, e.g. withinthe user's home.

[0046] In one embodiment, host 20 and processor-based appliance 10 areeach assigned a unique 48-bit identifier (ID) to uniquely identify them.Host 20 and processor-based appliance 10 can communicate with each otherby transmitting packets, using a suitable protocol. Alternatively, theycould communicate in any other suitable manner.

[0047] Other types of computing devices could be substituted for host20. Such devices may take the form of a laptop or hand-held computer,for example. The substantive difference between host 20 andprocessor-based appliance 10 is primarily one of relative computationalresources, as will be explained in greater detail regarding FIG. 17below. In general, host 20 tends to have greater memory and/orprocessing resources than processor-based appliance 10.

[0048] Other types of processor-based devices or appliances 10 could besubstituted for the DPF illustrated in FIG. 1. Without limitation, suchalternative processor-based appliances 10 could include any device thatcan play back visual and/or audio information. For example, such adevice may take the form of an Internet appliance, a hand-held computer,a laptop computer, a wireless communications device (e.g., cellularphone, 2-way pager, etc.), a personal entertainment device (e.g. aradio), audio-visual equipment, a personal digital assistant, anelectronic book, and the like.

[0049] In accordance with one embodiment of the present invention, thehost 20 may store a large number of digital pictures. These pictures maybe transmitted under certain conditions to the processor-based appliance10 for display on the display 12. In some embodiments, the display 12displays, for variable periods of time, various pictures creating adigital slideshow on the DPF. In some cases, the pictures that aredisplayed on the display 12 are automatically varied with time of dayand day of year or other change criteria. Thus, the picture display 12of the processor-based appliance 10 may be periodically varied andupdated to display a variety of images.

[0050] In accordance with one embodiment of the present invention, agallery of digital pictures is provided at periodic intervals to theprocessor-based appliance 10. In one embodiment, a predetermined number(e.g., 40) of digital pictures may be provided each day over a wirelesslink to the processor-based appliance 10. The processor-based appliance10 may then store those pictures in its memory (e.g. memory 31, FIG. 2)and may make those pictures available for display on the display 12, orthe processor-based appliance 10 may automatically successively displaythose pictures in a slide show. In the next periodic interval, thepictures that are stored on the processor-based appliance memory may beoverwritten or, if the memory capacity is sufficient, new pictures maybe stored in addition to the previous interval's pictures.

[0051] However, rather than store the entire library of availablepictures on the processor-based appliance 10, it may be advantageous insome embodiments to maintain the bulk of the available picture galleryon the host 20. This enables the processor-based appliance 10 to carryless storage capacity, decreasing costs in some embodiments. Inaddition, the need to wirelessly communicate a large amount of databetween the host 20 and the processor-based appliance 10 may be reduced.

[0052]FIG. 2 is a block diagram of a processor-based appliance 10 inaccordance with an embodiment of the present invention. The blockdiagram of FIG. 2 represents just one exemplary embodiment of aprocessor-based appliance 10. In this example, processor-based appliance10 comprises a DPF. Processor-based appliance 10 comprises a suitableprocessor 30.

[0053] As used herein, “processor” means any type of computationalcircuit such as, but not limited to, a microprocessor, amicrocontroller, a complex instruction set computing (CISC)microprocessor, a reduced instruction set computing (RISC)microprocessor, a very long instruction word (VLIW) microprocessor, agraphics processor, a digital signal processor (DSP), or any other typeof processor or processing circuit. The term also includes embeddedcontrollers, such as Generic or Programmable Logic Devices or Arrays,Application Specific Integrated Circuits, single-chip computers, and thelike.

[0054] A visual display renderer 17, which can include all suitablecircuitry for converting digital information into human-perceivablevisual form, is coupled to processor 30. An optional sound reproductionelement or audio renderer 18, which can include all suitable circuitryfor converting digital information into human-perceivable audio form, isalso coupled to processor 30. A suitable user input element 8, such asone or more control knobs, on-screen touch-sensitive buttons, or thelike is also coupled to processor 30.

[0055] A first interface (I/F) 34, having an antenna 39, is coupled toprocessor 30. I/F 34 is used to interface processor-based appliance 10wirelessly with a suitable wireless interface (not shown) of host 20.

[0056] A second interface (I/F) 35 is coupled to processor 30. I/F 35 isused to interface processor-based appliance 10 wirelessly to remotecontrol 15 (refer to FIG. 1 or 3).

[0057] Still referring to FIG. 2, a memory 31 is coupled to processor30. Memory 31 can be any suitable memory device(s) like read only memory(ROM); random access memory (RAM); hard drive; removable media drive forhandling compact disks (CDs), digital video disks (DVDs), diskettes,magnetic tape cartridges, memory cards, MemoryStick™ devices,SmartMedia™ devices, and other types of data storage; or the like.

[0058] Memory 31 can comprise digital content 32 and software 33.Content 32 can include images (both still and moving), text, audio, andany other types of digital content.

[0059] Software 33 can include one or more suitable software programs.For example, software 33 can include suitable operating system (O/S)software, one or more software applications, and any other types ofsoftware as required to perform the operational requirements ofprocessor-based appliance 10.

[0060]FIG. 3 is a block diagram of a wireless remote control 15 shown inFIG. 1, in accordance with an embodiment of the present invention. Theremote control 15 may comprise a processor 36 to control its operation.

[0061] Remote control 15 further comprises an interface (I/F) 37 that iscoupled to processor 36. I/F 37 communicates with I/F 35 ofprocessor-based appliance 10 (refer to FIG. 2).

[0062] Still referring to FIG. 3, remote control 15 further comprises asuitable user input 16, e.g. in the form of one or more control buttons(refer to FIG. 1).

[0063]FIG. 4 is a block diagram of a host computer 40 that is coupled toa local network 64 and/or a wide-area network 65, and that implementsone or more embodiments of the present invention. Host 40 can be similarto or identical to host 20 illustrated in FIG. 1.

[0064]FIG. 4 and the following discussion provide a brief, generaldescription of a suitable computing environment in which certainembodiments of the present invention may be implemented.

[0065] Thus, an exemplary host 40 comprises a computing device, acomputing machine, a data processing system, or the like. Host 40 ismerely one example of a computing system with which embodiments of thepresent invention can be used.

[0066] Host 40 comprises a system bus 42 to couple the variouscomponents of the system. System bus 42 provides communications linksamong the various components of host 40 and can be implemented as asingle bus, as a combination of busses, or in any other suitable manner.

[0067] Coupled to bus 42 are typically one or more processors 44, ascreen or display 46, and one or more data entry or selection elements48 such as a keyboard, mouse, trackball, joy stick, touch-sensitivescreen, or the like.

[0068] Also coupled to bus 42 is a memory 50, which can include anysuitable memory device(s) like read only memory (ROM); random accessmemory (RAM); hard drive; removable media drive for handling compactdisks (CDs), digital video disks (DVDs), diskettes, magnetic tapecartridges, memory cards, MemoryStick™ devices, SmartMedia™ devices, andother types of data storage; or the like.

[0069] Additional elements may also be coupled to bus 42 such as a modem52, a network interface unit 54, one or more loudspeakers 56, and othersuitable devices 58.

[0070] Host 40 can also include a plurality of types of softwareprograms. For example, host 40 can comprise software 60 that includes abasic input/output system (BIOS), operating system (O/S) software, oneor more software applications, and any other types of software asrequired to perform the operational requirements of host 40.

[0071] Host 40 can also include a plurality of types of digital content62. For example, host 40 can comprise digital content 62 that includesimages (both still and moving), text, audio, computer software, and anyother types of digital content.

[0072] Host 40 can operate in a networked environment using physicaland/or logical connections to local network 64 and/or wide area network(WAN) 65. The connections to these networks can be wired and/orwireless.

[0073] Local network 64 can comprise any number or type of computingdevices, such as a DPF 66, digital appliance 67, or any otherprocessor-based device 68 such as those mentioned elsewhere herein.

[0074] WAN 65 can be any type of network that is greater in scope thanlocal network 64. In one embodiment, WAN 65 comprises a globalcommunications network, such as the Internet. In another embodiment, WAN65 could comprise an intranet.

[0075] Embodiments of the invention may be implemented in conjunctionwith program modules, including functions, procedures, data structures,application programs, etc. for performing tasks, or defining abstractdata types or low-level hardware contexts. Program modules may be storedin memory 50 and associated storage media, e.g., hard drives, floppydisks, optical storage, magnetic cassettes, tapes, flash memory cards,MemoryStick™ devices, SmartMedia™ devices, digital video disks, chemicalstorage, and/or biological storage. Program modules may be deliveredover transmission environments, including networks 64 and 65, in theform of packets, serial data, parallel data, propagated signals, or anyother suitable form. Program modules may be used in a compressed orencrypted format, and they may be used in a distributed environment andstored in local and/or remote memory, for access by single andmulti-processor machines, or any other type of host 40.

[0076]FIG. 5 is a block diagram of a network 100 comprising a server134, a plurality of hosts 20A-20B, and a plurality of processor-baseddevices, DPFs or other appliances 10A-10D, in accordance with oneembodiment of the present invention. Network 100 can be the Internet oranother network of any type.

[0077] Coupled to network 100 are a first host 20A and a second host20B, each of which can be like host 40 illustrated in FIG. 4. Host 20Ahas several appliances 10A-10B coupled to it via wireless communicationslinks 130A-130B, respectively. Host 20B has appliances 10C-10D coupledto it via a wireless link 130C and a wired link 130D, respectively.While wireless links are shown for some appliances, and wired links areshown for others, the type of communications link is not at allcritical, and any suitable type of link may be utilized. Appliances maybe continually connected to their host or sporadically connected.Methods for managing sporadically connected appliances are described inRelated Application (2).

[0078] Also coupled to network 100 is a server 134 that includes astorage element 136, which has an internal media file database 138serving as a repository of digital media files. Hosts 20A-20B andappliances 10A-10D can likewise store digital media files. In oneembodiment, server 134 enables image sharing among users of hosts20A-20B and of appliances 10A-10D. The server 134 manages routing amongthe various elements of network 100, including hosts 20A-20B andappliances 10A-10D.

[0079] The term “buddy”, as used herein, refers to a person on a list ofcorrespondents that may be maintained on the user's processor-baseddevice or host, for example. A “buddy list” is known in the art as acolloquial term for a computer-based address book that manages names andnetwork (e.g. Internet) addresses. Network addresses can include e-mailaccounts, Instant Messaging accounts, and so forth.

[0080] It is useful to have buddy lists on appliances as well, tofacilitate the exchange of digital media content files. In some cases,an appliance buddy list may simply be a user-selected subset of a morecomplete buddy list on a host. In other instances, a buddy list may beautomatically populated with buddies with whom messages have beenexchanged in the past.

[0081] A buddy list for digital content media sharing may also includeInternet account addresses for other users' digital appliances as wellas their existing Internet accounts.

[0082] For example, in an embodiment where the appliances 10A-10D aredigital picture frames, a user may download an image from a digitalcamera onto a host, such as host 20A. The user may wish to send theimage to family members' appliances 10C-10D. To do so, the user maylocate the images, typically visually, displayed within a file browsersuch as Windows Explorer or an imaging application. The user may selectthe images to send and may then initiate a background routingapplication to assist with of all of the intermediate steps. This willbe explained later in greater detail regarding FIG. 6.

[0083] Also, as will be explained in greater detail regarding FIG. 7below, once a sharing application has launched, the user may alsoselect, for example from a popup buddy list, those buddies who aredesired recipients of the selected images. The user may then operate asend button or other control element to indicate confirmation to launchthe process. Application software described hereinafter automates therest of the image transfer and delivery, causing the images to appear onthe appliances 10A-10D (FIG. 5) of the designated recipients followingtheir respective hosts' next Internet access.

[0084] Still referring to FIG. 5, an appliance user can alternativelyshare images currently being displayed on any appliance 10A-10D. Fromappliance 10A, for example, while viewing an image on appliance 10A, theuser may decide to share the image with a recipient or buddy usingappliance 10C, for example. Via the user interface of appliance 10A, theuser can select the sharing operation. The user may then select therecipient from a list, and he may be asked to indicate confirmation (notshown) to complete the request. The appliance processor relays therequest containing an identifier for the selected image, as well as anidentifier for the recipient, to host 20A. Host 20A can connect with theInternet 100 using an established Internet service provider link. Theimage is earmarked for the designated recipient and is uploaded toserver 134.

[0085] Application software on the recipient's host 20B causes host 20Bto regularly check in with the server 134. The newly sent image isauthenticated and downloaded to a directory on the host 20B forsubsequent scheduled delivery to the recipient's appliance 10C.

[0086] To the recipient at appliance 10C, images from authorized friendsand family simply appear on the appliance 10C without any effort in someembodiments. Thus, the amount of effort for users to share digitalimages may be reduced, enabling users to freely share images in anautomated fashion using their existing Internet service provider. Nophone lines need be dedicated to the appliances 10A-10D, and theappliances 10A-10D need not be constantly connected to a telephone linein some embodiments.

[0087] An application software program 60 residing on the host (FIG. 4)automates the host side of the sharing process, and it may include anumber of sub-processes in some embodiments. A complementary softwareprogram residing on the server (134, FIG. 5) automates the server sideof the sharing process, and it may also include a number ofsub-processes in some embodiments.

[0088] These sub-processes may include a user registration sub-process.The user registration sub-process involves setting up an account on theserver 134 (referring once again to FIG. 5) and establishing the user asa sharing system participant. This also causes the server 134 to reserveresources such as short-term image storage space for the user.

[0089] Another sub-process is target location. Target location involvesdetermining whether the recipient is registered with the server orshould be contacted through a conventional Internet account. Buddies whoare registered with the server are further evaluated to determinewhether they have registered an appliance 10A-10D. If the targetrecipients are located within the registered group, digital contentshared with them will be automatically uploaded and downloaded. If thetarget recipients are not registered, the content shared with them willonly be automatically uploaded to ease the sharing burden for thesender.

[0090] Matching lists of all of a user's buddies may be stored on a host20A and/or 20B and in their appliances 10A-10D. A master list of allregistered users is maintained by the server 134.

[0091] The access control sub-process involves controlling accesspermissions. The user defines the authorized buddies whose imagedeliveries he wishes to have automatically routed through to hisappliance. Non-authorized deliveries are not permitted to be deliveredautomatically.

[0092] The target selection sub-process involves supporting the userselection of a media recipient.

[0093] The transmission sub-process implements the physical process oftransmitting content to the server 134, which content is then routed tothe assigned target(s), which may be recipients' appliances.

[0094] The receipt sub-process implements the physical act ofdownloading content intended for a user's appliance.

[0095] The user registration sub-process may begin, in one embodiment,with the installation of software 33 (FIG. 2) in an appliance 10A-10D(FIG. 5). The software 33 couples the user's appliance to a server innetwork 100. The first time a user's appliance connects with the server,a registration function may be performed, for example, by server 134 orby another server (not shown) in network 100. The registration functionrecords information regarding the user's appliance to allow others tolocate the user's appliance. The registration function also creates theinformation objects required to support the image content for eachappliance owned by that user. The function also reserves resources suchas short-term image storage space for the user's appliance and enablesusers to authorize sharing permissions.

[0096] Additionally, in some embodiments, each time another appliance isinstalled, the associated host 20A-20B (referring once again to FIG. 5)may connect to the registration server to update the host records andregister the new appliance.

[0097] After the initial registration is complete, the installationprocess may continue in some embodiments with the setup of a sharingbuddy list. The user may be asked to initialize the sharing buddy listwith acquaintances the user intends to exchange media files with. Thislist of buddies is retained locally in the user's host, e.g. host 20A,and a copy of the buddy list is also sent to the associated appliance10A-10B. In other embodiments, a copy of the buddy list could also beforwarded to appliances 10C-10D associated with another host 20B, and indoing so, ease the setup process for a group of associated users, suchas a friends and family sharing circle.

[0098] For a user on appliance 10A, for example, his or her buddies'electronic mail addresses and, if available, their appliances, e.g.appliances 10B-10D, may be incorporated in the sharing buddy list. Inone embodiment, once buddies are selected by a user's appliance (and bythe user's host's notifying server 134), an electronic mail messagegenerated by server 134 may invite buddies to register with the sharingservice. If they register, they too can take advantage of the mediafile-sharing system. Buddies who choose not to register with the mediasharing system may receive media files as attachments to automaticallygenerated electronic mail messages. Buddies who do choose to registerare provided the software to interface with the sharing Web server 134,and to perform periodic checks for new image files, and a folder is setup for saving newly received images.

[0099] At each initialization of application software (e.g. software 60,FIG. 4) of a host 20A or 20B, or at specific intervals, the host mayconnect to the Web server 134 (FIG. 5) to see whether any new mediafiles are awaiting download. System maintenance tasks may also beperformed during periodic host-server connections. Such maintenancetasks can include retrieval of host or appliance software updates, and ascan to see whether any of the unregistered buddies have registered withthe sharing service. If so, the buddy list may be updated in a suitablemanner to reflect this participation. Such information is maintained bythe system, transparently to the user in some embodiments. This may bedone so that the user does not have to be concerned about whethersomeone has actually registered or not.

[0100] Additionally, each user of an appliance 10A-10D may specify whois allowed to send file content directly to that user's appliance10A-10D. As there are numerous nefarious Internet spammers, it may bedesirable that access control be expressly granted. The user may selectbuddies from a buddy list to be granted trusted status, enabling thoseselected buddies to send content in a trusted manner. The permissionlists may be synchronized with the server 134 in a host-serverconnection session.

[0101] To share a file with a buddy, for example, from an appliance10A-10D, the user may simply select the “share” button on the remotecontrol, while viewing the desired file. The appliance may then displaythe user's buddy list. Then the user may select a buddy and may indicatea confirmation to execute the sending. The share request is relayed tothe host 20A or 20B with the selected file and recipient information,and the host 20A or 20B delivers the content to the server 134. At theserver 134, the information is processed for distribution to theindicated recipient(s) according to any access rules on the recipient'saccount. If the recipient is not a registered user, then the server 134simply generates a message, e.g. an email, attaches the file, and sendsit to the recipient. Each registered recipient's permissions may acceptor reject the file. If the file is accepted, it is put into the server'sstorage to await retrieval.

[0102] When the recipient's host software periodically connects with theserver 134 to check for new content and detects that a file is waiting,the recipient's host software begins an automated download session. Thefile is placed in a temporary storage in host 20A or 20B and may berelayed to the recipient's appliance 10A, 10B, 10C, or 10D on its nextsynchronization or update cycle from the associated host 20A or 20B. Thehost update of an appliance is discussed below regarding FIG. 11.

[0103] File-sharing can also be initiated by the user from the hostdesktop, as will now be explained with reference to FIGS. 6-7.

[0104]FIG. 6 is a depiction of a computer desktop 200 showing aplurality of photo thumbnails 204 and a pointer or cursor 210 hoveringover a desktop drop spot 220, in accordance with an embodiment of thepresent invention. Computer desktop 200 is merely one example of agraphical user interface (GUI) that could be used to implementembodiments of the present invention. A “thumbnail image” is a miniatureversion of an image that can be used for quick browsing through aplurality of images.

[0105] Computer desktop 200 is a representation of how current PCoperating systems, such as Microsoft Windows™ Millennium Edition™,Windows 2000™, Windows XP™, and the like, may display photo images orphoto thumbnails 204 contained within a selected file folder containinga plurality of corresponding photo files. The aforementioned operatingsystems are available from Microsoft Inc. of Redmond, Wash. A list 202of folders can appear at any suitable location on the desktop. In thisillustration, the user has opened the folder entitled “Best of Europe”and chosen to view the photo files contained therein as photothumbnails.

[0106] In known host GUI's, each photo thumbnail is displayed with anassociated filename identifier (ID) in the form of an alpha-numeric IDlocated beneath the corresponding photo thumbnail 204. Some currentdigital cameras automatically assign a sequential file ID to each imagefile as it is captured, but finding the desired image using only thenumerical filename in image sharing tasks has proven time-consuming forhost users. The addition of a photo thumbnail 204 has been popular withusers.

[0107] Images can be stored in a computer from many different sources,including downloading from a digital camera or memory element coupled tothe computer, downloaded from an email, or transferred to the computervia another image transfer mechanism.

[0108] In the example illustrated in FIG. 6, the user has selected onespecific photo image 206 for transfer to a desired target, which can bethe user's own or a buddy's processor-based device, such as anappliance, another host, a Web photo server, or the like.

[0109] In one embodiment, the user simply selects photo image thumbnail206 and drags it to a unique location or specific icon on the hostdesktop, referred to as a desktop “drop spot” 220. The drop spot 220 canbe an icon located at any suitable place on the desktop, such as in thesystem tray at the bottom of the screen or among other application iconson the desktop. Alternatively, the drop spot 220 could be integratedwith the file explorer window located close to the list 202 of folders,or the drop spot 220 could be located in the menu area at the top of thescreen. The particular location of the drop spot 220 is not at allcritical. In FIG. 6, as thumbnail 206 is dragged across the desktop 200to the drop spot 220, a ghost image or border 214 may follow cursor 210.However, other alternative GUIs are also possible, including thosediscussed elsewhere herein.

[0110] More than one drop spot or shortcut icon can be used. Forexample, separate drop spots can be used for each different type ofrouting application to be invoked, such as one routing application toroute media files to a DPF appliance, and another routing application toroute media files to an MP3 player. In another embodiment, a separatedrop spot could be used for each individual target. In a preferredembodiment, a consolidated drop spot could be used for multiple routingapplications. The routing application can determine the appropriatesub-group of targets based on the selected file's extension type. Forexample, “.JPG” file-extension types would normally be associated withDPF appliances and image-sharing buddy lists, while “.PDF”file-extension types would typically be associated with electronic bookappliances and sharing buddy lists.

[0111] When thumbnail 206 is selected, it may encircled by a border 212to indicate that it has been selected or is receiving the user's focus.Many other embodiments are possible. For example, instead of the dragand drop operation to initiate auto media file-routing, the user couldright-click with the mouse, select “Send To” from a pop-up menu, andthen select his desired target from a subsequent pop-up menu. Anotherpossibility is to make the selections and initiate the drop spotapplication by voice commands. Many other embodiments are possible forcreating a desktop shortcut to enable a user to quickly and relativelyeffortlessly command the transfer of a desired media file to anotherprocessor-based device.

[0112] While the example of FIG. 6 illustrates how a photo file can beautomatically routed, embodiments of the present invention are not to beconstrued as limited to photo files, and any other type of digital mediafile, such as those mentioned elsewhere herein, can be transferred. Avisual representation of the digital media file, comparable to a photoimage 206, is used. For example, for an audio file the visualrepresentation could be a compact disc (CD) icon bearing the name of arecording artist.

[0113]FIG. 7 is a depiction of a routing target menu 230 of the computerdesktop 200 illustrated in FIG. 6 after a photo image 206 has beendragged and dropped onto a desktop drop spot 220, in accordance with anembodiment of the present invention. In response to the user's drag anddrop action, a pop-up window with the target menu 230 can be displayedto the user, allowing the user to choose a desired target destinationfor the digital media file corresponding to the particular thumbnail206.

[0114] As one example, the routing target menu 230 comprises a digitalpicture frame list 232 and a buddy list 236. The digital picture framelist 232 is a list of digital picture frames that are coupled, eitherwired or wirelessly, to the user's host. The buddy list 236 is a list ofrecipient targets, and each recipient target can be associated with anInternet account and/or a registered appliance. The target list ismaintained by the user on the user's host and/or appliance(s).

[0115] In FIG. 7, the user has moved the cursor 210 down to thedesignation 234 representing a digital picture frame in “Ann's Room”,causing the host's GUI to display the designation 234 enclosed within aborder, thus indicating to the user that this designation 234 has beenfocused on. By selecting designation 234, the digital image associatedwith selected thumbnail 206 will be sent to the desired target, which inthis example is a digital picture frame in Ann's Room.

[0116] The foregoing example is merely one example of a suitable GUI bywhich a destination for a selected digital media file can be chosen by auser. Many alternative user interfaces can be implemented, given theteachings of this “Detailed Description of Embodiments of theInvention”. In some embodiments, the user may select a plurality ofnames on the routing target menu 230, and all of those individuals orentities will receive the selected digital media file.

[0117] In another possible embodiment, a user could first right-click ona photo image 206, thus opening routing target menu 230, and the usercould select one or more entries on the routing target menu 230. Theuser could then send the desired digital image associated with selectedthumbnail 206 by clicking on a “Send” icon, by right-clicking, or by anyother suitable GUI action.

[0118] Entries for the routing list or routing menu 230 are added whenthe sharing application software is initialized, and the menu isaugmented when new appliances are registered with the host, or whenevercommunication with a new buddy is established.

[0119]FIG. 8 is a flow diagram illustrating an exemplary method 300 toroute a media file via a host desktop shortcut, in accordance with anembodiment of the present invention. In general, the method involvesusing a desktop shortcut to launch a file-routing application,displaying a list of potential destinations, and executing a destinationchoice, such as sending a file to a processor-based device like anappliance or electronically mailing or transmitting the file to abuddy's appliance.

[0120] In 302, a desktop shortcut is used to indicate that a particularfile is to be sent. In this example, the particular file is dragged toand/or hovered over a desktop shortcut or drop spot, e.g. drop spot 220in FIGS. 6-7.

[0121] In 304, a routing application is initiated or launched as aresult of the action in 302.

[0122] In 306, the pathname of the digital image associated with theselected thumbnail is noted for the particular thumbnail file that wasselected and dragged to and/or hovered over the desktop icon or dropspot.

[0123] In 308, a list of possible target destination choices isdisplayed, and the user selects at least one of the possible targets. Inone embodiment, if a desired target does not appear on the list, theuser may manually enter a destination.

[0124] In 310, the user's selection of a target is read. If the choiceis to send the file to an appliance, the method goes to 312; if thechoice is to send the file to a buddy, the method goes to 314.

[0125] In 312, an entry is created for the media file in an associateddownloader file folder. The file's pathname parameters are recorded, andrelated information such as a time stamp and the sender's name may alsobe included. Optionally, the media content file can be reformatted, andthe reformatted copy can be saved and noted into the downloader's entrylog. It is possible for the software to format outgoing files in adevice- and content-intelligent manner. The characteristics of varioustarget types can be incorporated into the formatting software for thispurpose.

[0126] Additionally, preferred formats for various targets can also beaccessed. For example, a user may wish to post a new baby picture ontothe family's DPF appliance. Prior to saving a megapixel resolutionimage, the software could down-sample it to match the capability of theappliance's display and convert it from a .BMP to a .JPG format.

[0127] Many other formatting examples can be imagined. For example, if auser wished to share the new baby picture with a friend, and to targetthe friend's image-enabled cell phone as the appliance, a differentfinal image resolution would be appropriate, as would possibly adifferent file format.

[0128] In 314, a new email message is generated to the selected buddy.The selected media file, optionally reformatted, is attached to theemail message, and the message is sent to the selected buddy.

[0129] While the above embodiment describes sending a single file to asingle destination, in other embodiments it is possible to send morethan one file at a time to multiple destinations.

[0130]FIGS. 9A and 9B together constitute a flow diagram illustrating anexemplary method for a computer user to route a file via a desktopshortcut, in accordance with an embodiment of the present invention.

[0131] In 402 the user finds a desired media file, on a host computer,that the user desires to send to a destination. The destination can beany type of processor-based device, such as an appliance, a buddy'scomputer or Internet telephone, or the like. As part of finding thedesired media file, the user could focus on the file, e.g. by hovering acursor over the file.

[0132] In 404, the user selects the desired file by using a shortcut. Inone embodiment, the user drags an image, thumbnail, or icon of thedesired file across the desktop and pastes it onto a desktop drop spoticon. In one embodiment, the user can select multiple desired files,e.g. by “lassoing” them, and dragging the collection of desired files tothe desktop drop spot.

[0133] In 406, now that the file has been selected, a list of possibledestinations is displayed, e.g. in a pop-up window or other suitableGUI.

[0134] In 408, the user selects one or more destinations to receive theone or more media files.

[0135] In 410, the host examines the format of the selected mediafile(s) and compares the format to that of the selected destination(s).The host can store information concerning the communication resources(e.g. bandwidth, etc.) and other characteristics or resources (e.g.resolution, memory size, processor type, type of display and/orrendering circuitry, etc.) of each destination. The host determineswhether the selected file(s) should be reformatted. If so, the methodgoes to 414; otherwise, it goes to 416.

[0136] In 414, the host reformats and/or resizes the media file(s) tomatch the communication, display, storage, and/or other requirements ofthe selected destination(s). The method then proceeds to 416.

[0137] In 416, the host determines whether the destination is local orremote, because in one embodiment files to be sent locally (e.g. to anappliance in local communication with the host) may be handleddifferently from files to be sent to a buddy at another host. If local,the method goes to 418; if remote, the method goes to 420.

[0138] In 418, various information concerning the file(s) is stored intoan incoming content folder for the selected appliance. Such informationcan include the filename(s), a pointer to each formatted file, andsent-by information to identify the file sender.

[0139] In 420, a message (e.g. an email) is created and sent to theremote host. In one embodiment, the message is sent to a serviceprovider and/or to a remote server. The message can contain relevantinformation concerning the file(s) and the destination(s). Thisinformation can include the filename(s), destination ID(s), the file(s)and sent-by information. The service provider and/or remote serversubsequently dispatches the file(s) to the desired destination(s).

[0140]FIG. 10 is a flow diagram illustrating an exemplary method 500 toroute one or more media files from an appliance to a destinationprocessor-based device in a network via an intermediary processor-baseddevice, in accordance with an embodiment of the present invention.Method 500 can be used, for example, when a user of an appliance desiresto send one or more media files to another user of an appliance, or toanother user operating a host, or to any computer coupled to the samenetwork.

[0141] In 502, an appliance user finds one or more media files that theuser desires to send to or share with another user in a network. Theuser can select the desired one or more media files in any suitablemanner, including using a desktop drop spot, as described elsewhereherein.

[0142] In 504, with the file having now been selected by the applianceuser, a list of possible destinations, such as a buddy list, ispresented to the appliance user.

[0143] In 506, the appliance user selects one or more buddies to sendthe file(s) to.

[0144] In 508, the appliance sends the file(s) and the buddydestination(s) to a host computer with which the appliance is incommunication. In one example, the appliance could be digital pictureframe 10 (FIG. 1), and the local host to which digital picture frame 10is coupled could be host 20 (FIG. 1). In this example, the local hostserves as an intermediary processor-based device.

[0145] Still referring to FIG. 10, in 510, the local host transmits thefile(s) with a message to a network server. The network server could beany server in the network, e.g. server 134 (FIG. 5).

[0146] Still referring to FIG. 10, in 512, the server receives themessage from the local host.

[0147] In 514, the server parses the message to determine variousinformation concerning its origin, its destination, its associatedfile(s), etc. The server may perform security checks on the message.

[0148] In 516, the server checks whether the sender of the file(s) is avalid sender for the destination device, e.g. a buddy's appliance. Ifthe sender is valid, the method goes to 520; otherwise, it goes to 518,where the message content is discarded.

[0149] In 520, the server approves transmitting the file(s) for storageon a host associated with the destination appliance. The destinationhost and associated appliance(s) can be similar or identical to thoseshown in FIGS. 1 and 12 (discussed below),

[0150] In 522, before the file(s) are downloaded to the destinationhost, an optional operation can check that certain conditions exist. Forexample, one condition could be that the recipient host has propersoftware loaded for handling the download. Another condition could bewhether a download timer has tripped.

[0151] In 524, the method checks whether there is new content in thefile(s) that the server has approved for downloading to the destinationhost. If so, the method goes to 526; otherwise, the method returns to522.

[0152] In 526, the content of the transmitted file(s) is downloaded tothe local storage resource of the destination host.

[0153] In 528, the content of the transmitted file(s) is organizedwithin the local storage of the destination host, e.g. a database ofdigital media files.

[0154] In 530, a synchronize event occurs during which the destinationhost downloads the new content of the transmitted file(s) to thedestination appliance. This event typically occurs asynchronously atperiodic download times or when the user of the destination appliancerequests it.

[0155]FIG. 11 is a flow diagram illustrating an exemplary method 600 fora host to update or synchronize with an appliance, in accordance with anembodiment of the present invention. As a result of synchronization, thehost updates the appliance with any menu or content item changesresiding on the host. Such updates can occur automatically or uponcommand from the host or appliance.

[0156] At 601, a determination is made whether a scheduled transmit timehas occurred. If so, the method goes to 602; otherwise, it loops back tothe beginning of 601.

[0157] At 602, a determination is made whether the appliance is turnedon and within range. If so, the method goes to 603; otherwise, it loopsback to the start of 601.

[0158] At 603, the host sends any updates to menu items, content items,or support items. Support items can include a new software or driverrelease to provide one or more functions or characteristics that theappliance did not previously have, or an updated version thereof.

[0159] A new function could be accompanied by a new menu item fordisplay on the appliance, e.g. a printing icon denoting a printingaction that the user can command to occur on a selected file at thehost. The host can deliver a new menu template to support a new functionor capability, thereby altering or expanding the feature set for theuser automatically. This capability overcomes many of the existinglimitations of product shipping readiness and competitiveness formanufacturers. The method exits at 805.

[0160]FIG. 12 is a block diagram of a network comprising a host computer702 and one or more processor-based devices or appliances 710, 712, and714, in accordance with one embodiment of the present invention. Asillustrated in FIG. 12, a host 702 can communicate menu items andcontent items with one or more processor-based devices, such asappliances 710, 712, and 714.

[0161] Host 702 generally comprises greater resources, and/or larger andmore full-featured resources, than an individual processor-basedappliance 710, 712, or 714. For example, host 702 can include storagefor a large-content file repository that contains many digital mediafiles of any type. Host 702 can also include a file structure or systemthat is organized by a host user. As one example, many personal computerusers use the large storage capacity of their personal computers tostore digital media files, after downloading such files from theInternet, from digital cameras, or from other media players, or afterreceiving them via email. Computer users typically establish apreferred, customized file hierarchy on their personal computers.Embodiments of the present invention offer significant flexibility inaccommodating computer users' pre-existing file hierarchies, thusproviding an advantage over other products that are incapable of doingso.

[0162] Host 702 can further comprise a large cache memory. Host 702 canalso include fairly significant processing power to search for andreformat digital content items, whether in its local memory or on anetwork such as the Internet. Host 702 can also include a full-featuredgeneral user interface (GUI), as well as a number of timers, schedulers,and other application resources. Host 702 may also include a wirelesscommunications module, including for example a radio-frequency (RF) orinfra-red (IR) transceiver module.

[0163] In the example shown in FIG. 12, host 702 can communicatewirelessly with processor-based device 710 and processor-based device714 via wireless links 704 and 706, respectively. Host 702 cancommunicate via a cable or wire 708 with processor-based device 712.

[0164] A processor-based device generally comprises fewer resources,and/or smaller and less full-featured resources, than a host. Forexample, processor-based device 714 can include storage for asmall-content file repository that may contain a limited number ofdigital media files. The file system organization of processor-baseddevice 714 can adapt to that of the host, including the file names orlabels of the host. Processor-based device 714 could have a small cachememory and only sufficient processing power to render specific contenttypes. For example, a DPF could have a processor that renders onlydigital photo files. Processor-based device 714 could have alimited-feature GUI, as well as a number of timers, schedulers, andother rather limited application resources. Processor-based device 714may also include a wireless or wireline communications module orelement, including for example a radio-frequency (RF) or infra-red (IR)transceiver module or element.

[0165] In a network or system comprising a host computer and at leastone processor-based appliance, resources can be optimally divided in asuitable division of labor and/or partitioning of responsibility. Forexample, in an embodiment where the host serves as a repository for alarge number of digital media files, the storage capacity of theprocessor-based appliances can be reduced to a reasonable capacity thatcan store a reasonable number of files, thus minimizing the cost andcomplexity of the processor-based appliances.

[0166] The operations described above with respect to the methodsillustrated in FIGS. 8-11 can be performed in a different order fromthose described herein. Also, it will be understood that while an “exit”block is shown in certain of the method figures, these methods can beperformed continuously in a run-time environment.

CONCLUSION

[0167] Embodiments of the present invention enable the users ofprocessor-based devices to exchange digital media files easily. Thus,users' enjoyment and utilization of processor-based devices can besignificantly enhanced, making such processor-based devices morecommercially desirable.

[0168] In some embodiments, media files can be transferred from oneprocessor-based device to another using a simple desktop shortcut. Inone embodiment, for example, one or more desired media files can bedragged to a desktop drop spot and routed to one or more desiredrecipients anywhere, provided that the recipients' processor-baseddevices are communicatively coupled to the sender's processor-baseddevice.

[0169] In some embodiments, one or more media files can be transferredfrom one appliance, such as a DPF, to another appliance anywhere,provided that the appliances are communicatively coupled via a network.In certain embodiments, the network can be the Internet.

[0170] By using the software-implemented methods of embodiments of thepresent invention, many types of processor-based devices such as, butnot limited to, digital appliance and DPFs become more commerciallyattractive.

[0171] As shown herein, the present invention can be implemented in anumber of different embodiments, including various methods, anappliance, and an article comprising a machine-accessible medium havingassociated instructions. Other embodiments will be readily apparent tothose of ordinary skill in the art. The elements, algorithms, andsequence of operations can all be varied to suit particularrequirements.

[0172] In view of the disclosure herein, it will be apparent to thoseskilled in the art how to write suitable software routines thatimplement the functions, features, and GUI discussed above.

[0173] The illustrated architecture of the processor-based devices andthe hosts described herein are only examples of possible architectures.Embodiments of the present invention are in no way limited to anyparticular architecture for the processor-based devices or the hosts.

[0174]FIGS. 1 through 7 are merely representational and are not drawn toscale. Certain proportions thereof may be exaggerated, while others maybe minimized. FIGS. 1-12 illustrate various embodiments of the inventionthat can be understood and appropriately carried out by those ofordinary skill in the art.

[0175] Although specific embodiments have been illustrated and describedherein, it will be appreciated by those of ordinary skill in the artthat any arrangement or process that is calculated to achieve the samepurpose may be substituted for the specific embodiments shown. Thisapplication covers any adaptations or variations of embodiments of thepresent invention. Therefore, it is manifestly intended that embodimentsof this invention be limited only by the claims and the equivalentsthereof.

[0176] It is emphasized that the Abstract is provided to comply with 37C.F.R. §1.72(b) requiring an Abstract that will allow the reader toquickly ascertain the nature and gist of the technical disclosure. It issubmitted with the understanding that it will not be used to interpretor limit the scope or meaning of the claims.

[0177] In the foregoing Detailed Description of Embodiments of theInvention, various features are grouped together in a single embodimentfor the purpose of streamlining the disclosure. This method ofdisclosure is not to be interpreted as reflecting an intention that theclaimed embodiments of the invention require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Detailed Description of Embodiments of theInvention, with each claim standing on its own as a separate preferredembodiment.

What is claimed is:
 1. A method comprising: storing a plurality ofdigital media files on a host; displaying a visual representation of atleast one of the digital media files; and receiving a user command totransfer the at least one digital media file, including detecting theselection of a specific portion of a desktop of the host, wherein theuser command specifies a destination processor-based device other thanthe host.
 2. The method recited in claim 1 wherein the visualrepresentation comprises one of a thumbnail, an icon, and a fileidentifier.
 3. The method recited in claim 1 and further comprising:displaying a plurality of potential processor-based device destinations.4. The method recited in claim 3 wherein the plurality of potentialprocessor-based device destinations are displayed in a window.
 5. Themethod recited in claim 1 wherein the user command includes a request toelectronically mail the at least one digital media file.
 6. The methodrecited in claim 1 and further comprising: transferring the at least onedigital media file to the specified destination processor-based device.7. The method recited in claim 6 wherein, in transferring, the at leastone digital media file is transferred to one of a server, a second host,an appliance, and a digital picture frame.
 8. The method recited inclaim 7 wherein, in transferring, the at least one digital media file istransferred to a second host, and the method further comprises:transferring the at least one digital media file from the second host toone of an appliance and a digital picture frame during a synchronizationevent.
 9. The method recited in claim 7 wherein, in transferring, the atleast one digital media file is transferred as an email.
 10. The methodrecited in claim 7 wherein, in transferring, the at least one digitalmedia file is transferred through the Internet.
 11. The method recitedin claim 6 and further comprising: storing information concerningcharacteristics of the destination processor-based device.
 12. Themethod recited in claim 11 and further comprising: using the informationto modify the at least one digital media file prior to transferring. 13.The method recited in claim 1, wherein displaying includes displayingthe visual representation of the at least one digital media file on thedesktop.
 14. The method recited in claim 13 wherein, in receiving, thevisual representation is hovered over the specific portion of thedesktop, and wherein the specific portion of the desktop comprises oneof an icon and a drop spot.
 15. The method recited in claim 13 andfurther comprising: in response to detecting, displaying a menu ofpotential processor-based device destinations.
 16. The method recited inclaim 15 and further comprising: specifying a destinationprocessor-based device by selecting an item in the menu.
 17. The methodrecited in claim 15 and further comprising: adding new processor-baseddevice destinations to the menu as the new processor-based devicedestinations are registered by the host.
 18. The method recited in claim1 wherein, in receiving, a pathname is determined for the digital mediafile.
 19. A method comprising: displaying a digital media file on anappliance; displaying a list of destination processor-based devices;receiving a user command to transfer the digital media file to one ofthe destination processor-based devices on the list; and transferringthe digital media file through an intermediary processor-based device tothe one of the destination processor-based devices.
 20. The methodrecited in claim 19 wherein, in transferring, the digital media file iswirelessly transmitted to the intermediary processor-based device. 21.The method recited in claim 19 wherein, in transferring, theintermediary processor-based device comprises a first host.
 22. Themethod recited in claim 21 wherein, in transferring, the digital mediafile is modified by the first host to satisfy performancecharacteristics of the one processor-based device.
 23. The methodrecited in claim 21 wherein, in transferring, the digital media file istransferred from the first host to a network server before beingtransferred to the one of the destination processor-based devices. 24.The method recited in claim 23 and further comprising: the networkserver performing a security check.
 25. The method recited in claim 24wherein the security check comprises a comparison with a list ofauthorized buddies.
 26. The method recited in claim 23 wherein, intransferring, the digital media file is transferred from the networkserver to a second host before being transferred to the one of thedestination processor-based devices.
 27. The method recited in claim 26and further comprising: transferring the digital media file from thesecond host to the one of the destination processor-based devices duringa synchronization event.
 28. The method recited in claim 26 and furthercomprising: transferring the digital media file from the second host toone of an appliance and a digital picture frame during a synchronizationevent.
 29. The method recited in claim 19 and further comprising:storing information concerning characteristics of the one of thedestination processor-based devices.
 30. The method recited in claim 29and further comprising: using the information to modify the digitalmedia file prior to transferring.
 31. The method recited in claim 19wherein, in transferring, the digital media file is transferred to theone of the destination processor-based devices through at least one of afirst host, a network server, and a second host.
 32. The method recitedin claim 31 and further comprising: the at least one of a first host, anetwork server, and a second host storing information concerningcharacteristics of the one processor-based device; and the at least oneof a first host, a network server, and a second host using theinformation to modify the digital media file.
 33. An appliancecomprising: a memory to store a plurality of digital media files, andfurther to store program instructions; a processor coupled to the memoryto execute ones of the program instructions; a display coupled to theprocessor to display one or more of the plurality of digital mediafiles, and further to display a list of destination processor-baseddevices, in accordance with ones of the program instructions; aselection element to receive a user command to transfer one of thedigital media files to at least one specified processor-based device, inaccordance with ones of the program instructions; and a communicationselement to transmit the one digital media file along with destinationinformation to the at least one specified processor-based device via anintermediary processor-based device.
 34. The appliance recited in claim33 wherein the communications element comprises a transceiver coupled tothe processor to wirelessly transmit to the intermediary processor-baseddevice, in accordance with ones of the program instructions, the onedigital media file.
 35. The appliance recited in claim 33, wherein thedisplay is to display the list of destination processor-based devices inthe form of a buddy list.
 36. An article comprising a machine-accessiblemedium having associated instructions, wherein the instructions, whenaccessed, result in a machine performing: displaying a digital mediafile; presenting a list of destination processor-based devices;receiving a user command to transfer the digital media file to at leastone of the destination processor-based devices; and transmitting the onedigital media file along with destination information, identifying theat least one of the destination processor-based devices, to anintermediary processor-based device.
 37. The article recited in claim 36wherein, in presenting, a buddy list is presented.
 38. The articlerecited in claim 36 wherein, in transmitting, the one digital media fileand destination information are wirelessly transmitted to a host. 39.The article recited in claim 36 wherein, in presenting, the destinationprocessor-based devices comprise one or more from the group consistingof a digital picture frame, an Internet appliance, a personal digitalassistant, a cellular telephone, a pager, a music reproduction device,and a hand-held computer.
 40. A system comprising: a processor; and astorage coupled to the processor to store instructions that, whenexecuted, enable the processor to receive a user request to transfer amedia file from one processor to another processor, to display agraphical user interface to indicate a plurality of potential media filedestinations and, in response to receiving selection of a destination,to transfer the media file to the selected destination.
 41. The systemrecited in claim 40 wherein the storage stores instructions to enablethe processor to receive a request to transfer a media file.
 42. Thesystem recited in claim 41 wherein the storage stores instructions toenable the processor to display a graphical user interface to detect thepresence of a cursor hovering over a desktop icon and, in response tothe presence of the cursor, to display a menu of potential media filedestinations.
 43. The system recited in claim 42 wherein the storagestores instructions to enable the processor to select a destination bydetecting a selection of an item in the menu.
 44. The system recited inclaim 40 wherein the storage stores instructions to enable the processorto transfer a media file to an appliance.
 45. The system recited inclaim 40 wherein the storage stores instructions to enable the processorto transfer a media file to a digital picture frame.
 46. The systemrecited in claim 40 wherein the storage stores instructions to enablethe processor to detect the presence of a cursor hovering over an iconand, in response to the detection of the presence of the cursor, toinitiate an application to route a media file to an appliance.
 47. Thesystem recited in claim 46 wherein the storage stores instructions toenable the processor to determine a pathname of a media file draggedover and dropped upon the icon.
 48. The system recited in claim 40wherein the storage stores instructions to enable the processor totransfer a media file over the Internet.
 49. The system recited in claim48 wherein the storage stores instructions to enable the processor totransfer information from a host to an appliance in response to asynchronization event.